﻿using System;
using System.Collections.Generic;
using System.ComponentModel;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
using System.Web.UI;

namespace GrayParrot.Web.Controls
{
    /// <summary>
    /// Columns Configuration class...
    /// </summary>
    public class ColumnsConfig
    {
        /// <summary>
        /// Gets or sets the columns.
        /// </summary>
        /// <value>
        /// The columns.
        /// </value>
        [DesignerSerializationVisibility(DesignerSerializationVisibility.Content), PersistenceMode(PersistenceMode.InnerProperty)]
        public List<Column> Columns { get; set; }

        /// <summary>
        /// Gets or sets the editable columns configuration...
        /// </summary>
        /// <value>
        /// The editable.
        /// </value>
        [DesignerSerializationVisibility(DesignerSerializationVisibility.Content), PersistenceMode(PersistenceMode.InnerProperty)]
        public EditableConfig Editable { get; set; }

        /// <summary>
        /// Gets or sets the key.
        /// </summary>
        /// <value>
        /// The key.
        /// </value>
        public string Key { get; set; }

        public string SortKey { get; set; }

        /// <summary>
        /// Initializes a new instance of the <see cref="ColumnsConfig"/> class.
        /// </summary>
        public ColumnsConfig()
        {
            this.Columns = new List<Column>();
        }
    }
}
